1) Optimization required is: a) Remove the pipeline. -- Completed 12/24/04 b) Create a global CRS variable that allows the smaller side and object classes such as vertices, textures and camera objects have direct access to the CRS variable. Completed 12/24/04 c) Creation functions must be added to the Renderer Manager for the vertices, textures & indicies. d) Render functions must be added to the Renderer Manager for the vertices, textures & indicies. -- Completed (Indicies have not) e) Destruction functions must be added to the Renderer Manager for the vertices, textures, & indicies. -- Completed (Indicies have not) 2) Additions to the CRS: a) Vertices object must have the SetFVF included to allow for the Flexible Format. b) Indicies object needs to be created. 3) Notes on global CRS a) Global CRS can be built as a static or as a class. -- Completed. b) The global CRS must contain a C3DManager object as a static or member of a CRS class -- Completed. c) The global CRS must contain links to all the 3d objects, primitives and so forth so -- In Progress that all must be contained in one file. 4) D3DManager a) Remove the handle to the device and use a pointer instead. b) MUST protect the system from state changes such as LOSS of state. c) Must manage the multiple states of a object packet, such as create, refresh, update, and destroy -- completed d) CreateTextureBufferFromMemory should deal with multiple bit depths. e) Examine a D3DPOOL_MANAGED object and decide if these objects should be destroyed & recreated during state change. 5) C3DCamera a) To remove the hold features and implemented them in a CInput Object. b) Update the camera to correctly multiply the values by the camera vectors. c) Embed the global C3DManager & Tools into the camera object and route the access point to the function Render(). 6) C3DFont 7) C3DConsole